﻿/*
 * Script: "validacion_banco.js"
 * Copyright 2011 SISVOX.
 *
 * Licenciado bajo SISVOX, Version 1.0 (la "Licencia");
 * El codigo presente que compone este Software es propiedad unica y
 * exclusivamente de SISVOX, por lo tanto, usted no podrá utilizar este
 * archivo excepto en cumplimiento de la Licencia ofrecida por SISVOX.
 * Usted puede obtener una copia de la Licencia en:
 *
 *      Soluciones Integrales de Software Vox (SISVOX)
 *                 http://www.sisvox.com
 *
 *     - Carlos Calvo      <ccalvo@sisvox.com>
 *     - Andres Hernandez  <ahernandez@sisvox.com>
 *
 * A menos que sea requerido por la ley aplicable o se acuerde por escrito,
 * el software distribuido bajo la licencia se distribuye "TAL CUAL", CON
 * LAS GARANTIAS Y CONDICIONES expresadas en la "Licencia".
 */
 

// =================================================================================================================
// ======================================= Setear el campo monto en Banco ==========================================
// =================================================================================================================

function setear_campo_monto(monto) {     
	monto_preparado =  this.preparar_monto( monto );

	document.getElementById("monto").value 		= monto_preparado;
	document.getElementById("h_monto").value 	= monto_preparado;
}


// =================================================================================================================
// ========================================= Setear los Valores del Banco ==========================================
// =================================================================================================================

function setear_banco() {    
    var id_banco       		= document.getElementById("id_banco").value;	
	var id_banco_nombre		= id_banco.split("_");
	
	h_id_banco_a			= id_banco_nombre[0];
	h_nro_cuenta_a			= id_banco_nombre[1];
	h_nombre_banco_a		= id_banco_nombre[2];
	document.getElementById("h_id_banco_a").value = h_id_banco_a;
	document.getElementById("h_nro_cuenta_a").value = h_nro_cuenta_a;
	document.getElementById("h_nombre_banco_a").value = h_nombre_banco_a;
}


// =================================================================================================================
// ========================================= Validar Depositos (BANCO) =============================================
// =================================================================================================================

function validar_depositos( id_banco, nro_cuenta, nro_vouchers, monto, fecha_dep, lista_div ) {
	
    var ret = 0;
	if ( id_banco == "" ) { 					alert("Debe indicar su Banco del Deposito a Añadir"); 					ret = 1;
	} else if ( nro_cuenta == "" ) { 			alert("Debe indicar su Banco del Deposito a Añadir"); 					ret = 1;
	} else if ( nro_vouchers == "" ) { 			alert("Debe indicar el Número de Deposito");							ret = 1;
	} else if ( nro_vouchers.length < 10 ) { 	alert("El Número de Deposito debe tener al menos 10 caracteres");		ret = 1;
	} else if ( IsNumeric(nro_vouchers) == "" ) {alert("El Número de Deposito debe ser un Número");						ret = 1;
	
	} else if ( IsFloat(monto) == "" ) {		alert("El Monto debe ser un Número Decimal sin Puntos");				ret = 1;
	
	} else if ( fecha_dep == "" ) { 			alert("Debe indicar la Fecha del Deposito");							ret = 1;
		
	} else if (true) {
		var indice_lista       	= document.getElementById("h_indice_lista").value;
		
		if ( indice_lista != 1 ) {
			for ( var i = 1; i < indice_lista; i++ ) {
				j = i - 1;
				indice_lista_div = lista_div.substr( j, 1 );
				
				if ( indice_lista_div == "1" ) {
					h_id_banco		= document.getElementById("h_id_banco_"+i).value;					
					h_nro_cuenta	= document.getElementById("h_nro_cuenta_"+i).value;
					h_nro_vouchers	= document.getElementById("h_nro_vouchers_"+i).value;
					h_monto			= document.getElementById("h_monto_"+i).value;
					h_fecha_dep		= document.getElementById("h_fecha_dep_"+i).value;
					
					if ( id_banco == h_id_banco && nro_cuenta == h_nro_cuenta && nro_vouchers == h_nro_vouchers && fecha_dep == h_fecha_dep ) {
						ret = 2;
						break;
					}
				}
			}		
		} else {
			this.ver_div( "div_total_banco" );			
		}		 
	}
	
	document.getElementById("h_return_banco").value = ret;
	if ( ret == 1 || ret == 2 ) {
		return false;
	} else if ( ret == 0 ) {
		return true;
	}
}


// =================================================================================================================
// ========================================== Agregar ,00 y 0 al monto =============================================
// =================================================================================================================

function preparar_monto( monto ) {	
	var result = monto.lastIndexOf(",");
	
	// Si no tiene decimales	
	if ( result == "-1" ) {
		monto = monto + ",00";
	} else {	
		var decimales = monto.substring(result+1, monto.length);		
		// Si tiene un solo decimal
		if ( decimales.length == 1 ) {
			monto = monto + "0";
		}
	}	
	return monto;
}


// =================================================================================================================
// ============================= Sumar los Montos de los Depositos en el BANCO =====================================
// =================================================================================================================

function sumar_montos( monto, lista_div ) {
    //alert (monto);
	var h_return_banco       = document.getElementById("h_return_banco").value;
	if ( h_return_banco == 0 ) {
		var indice_lista       	= document.getElementById("h_indice_lista").value;
		var monto_pagado		= 0;
		var monto_a_pagar 		= document.getElementById("h_monto_a_pagar").value;
		
		var monto_actual_f 		= this.number_formatjs(""+monto+"");
		var monto_a_pagar_f 	= this.number_formatjs(""+monto_a_pagar+"");
		var monto_pagado_f 		= this.number_formatjs(""+monto_pagado+"");
		var monto_a_sumar_f 	= "";
			
		for ( var i = 1; i < indice_lista; i++ ) {
			j = i - 1;
			indice_lista_div = lista_div.substr( j, 1 );
			
			if ( indice_lista_div == "1" ) {
				h_monto			= document.getElementById("h_monto_"+i).value;
				monto_a_sumar_f = this.number_formatjs(""+h_monto+"");
				monto_pagado_f = monto_pagado_f + monto_a_sumar_f;
			}			
		}
		
		monto_pagado_f 	= monto_pagado_f + monto_actual_f;	
		monto_por_pagar_f = monto_a_pagar_f - monto_pagado_f;	
		
		var monto_por_pagar_f_o = parseFloat(monto_por_pagar_f);
		var monto_por_pagar_f_r = Math.round(monto_por_pagar_f_o * 100)/100;
		
		var monto_pagado_s 		= this.number_formatjs_esp(""+monto_pagado_f+"");
		var monto_por_pagar_s 	= this.number_formatjs_esp(""+monto_por_pagar_f_r+"");
		
		monto_pagado_s 		= this.preparar_monto( monto_pagado_s );
		monto_por_pagar_s	= this.preparar_monto( monto_por_pagar_s );
			
		$("#div_monto_por_pagar").html(monto_por_pagar_s+"&nbsp;BsF.");
		$("#h_monto_por_pagar").val(monto_por_pagar_s);	
		$("#div_monto_pagado").html(monto_pagado_s+"&nbsp;BsF.");
		$("#h_monto_pagado").val(monto_pagado_s);
			
		if ( parseFloat(monto_pagado_f) < parseFloat(monto_a_pagar_f) ) {		
			this.ocultar_div( "pagado_verde" );
			this.ver_div( "pagado_rojo" );
		} else if ( parseFloat(monto_pagado_f) >= parseFloat(monto_a_pagar_f) ) {
			this.ocultar_div( "pagado_rojo" );
			this.ver_div( "pagado_verde" );	
			alert("El Monto a Pagar ya ha sido Cancelado");
		}
	}
}


// =================================================================================================================
// ============================= Resta los Montos de los Depositos en el BANCO =====================================
// =================================================================================================================

function restar_montos( indice, lista_div ) {
	
	var h_return_banco       = document.getElementById("h_return_banco").value;
	if ( h_return_banco == 0 ) {
		var indice_lista       	= document.getElementById("h_indice_lista").value;
		
		var monto_a_pagar 		= document.getElementById("h_monto_a_pagar").value;
		var monto_por_pagar		= document.getElementById("h_monto_por_pagar").value;
		var monto_pagado		= document.getElementById("h_monto_pagado").value;
				
		var monto_a_pagar_f 	= this.number_formatjs(""+monto_a_pagar+"");
		var monto_por_pagar_f 	= this.number_formatjs(""+monto_por_pagar+"");
		var monto_pagado_f 		= this.number_formatjs(""+monto_pagado+"");
		
		for ( var i = 1; i < indice_lista; i++ ) {
			if ( i == indice ) {
				h_monto			= document.getElementById("h_monto_"+i).value;
				monto_a_restar_f = this.number_formatjs(""+h_monto+"");
				
				monto_pagado_f 		= monto_pagado_f - monto_a_restar_f;
				monto_por_pagar_f 	= monto_por_pagar_f + monto_a_restar_f;
			}
		}
			
		var monto_pagado_f_o = parseFloat(monto_pagado_f);
		var monto_pagado_f_r = Math.round(monto_pagado_f_o * 100)/100;
		
		var monto_por_pagar_s 	= this.number_formatjs_esp(""+monto_por_pagar_f+"");
		var monto_pagado_s 		= this.number_formatjs_esp(""+monto_pagado_f_r+"");
		
		monto_pagado_s 		= this.preparar_monto( monto_pagado_s );
		monto_por_pagar_s	= this.preparar_monto( monto_por_pagar_s );
		
		$("#div_monto_por_pagar").html(monto_por_pagar_s+"&nbsp;BsF.");	
		$("#h_monto_por_pagar").val(monto_por_pagar_s);	
		$("#div_monto_pagado").html(monto_pagado_s+"&nbsp;BsF.");
		$("#h_monto_pagado").val(monto_pagado_s);
					
		if ( parseFloat(monto_pagado_f) < parseFloat(monto_a_pagar_f) ) {		
			this.ocultar_div( "pagado_verde" );
			this.ver_div( "pagado_rojo" );
		} else if ( parseFloat(monto_pagado_f) >= parseFloat(monto_a_pagar_f) ) {
			this.ocultar_div( "pagado_rojo" );
			this.ver_div( "pagado_verde" );	
			alert("El Monto a Pagar ya ha sido Cancelado");
		}
		
		$("#div_lista_banco_"+indice).html("");	
		ante = "";
		despues = "";
		if ( indice != "1" ) {
			ante = lista_div.substr( 0, indice-1 );
		}
		ante = ante + "0";
		if ( indice != lista_div.length ) {
			despues = lista_div.substr( indice, lista_div.length );
		}
		
		lista_div = ante+despues;		
		$("#h_lista_div").val(lista_div);
		
		lista_div = parseInt(lista_div);
		if ( lista_div == "0" ) {
			$("#div_encabezado_banco").html("");	
		}
	}
}


// =================================================================================================================
// ========================================== Limpiar los Datos del Banco ==========================================
// =================================================================================================================

function borrar_banco() {
    if(window.confirm("¿Está seguro de que desea Limpiar los Datos del Banco?")) {
        $("#id_banco").val("");
		$("#h_id_banco_a").val("");
		$("#h_nombre_banco_a").val("");				
        $("#fecha_dep").val("");
        $("#nro_vouchers").val("");
        $("#monto").val("");
		$("#h_monto").val("");
		
        $("#h_indice_lista").val("1");
		$("#h_lista_div").val("");		
		$("#h_return_banco").val("0");
		
		$("#pagado_verde").hide();
		$("#pagado_rojo").show();
		
		$("#div_lista_banco").html("<div id='div_encabezado_banco'></div>");
		$("#div_monto_por_pagar").html($("#h_monto_a_pagar").val() + " BsF.");
		$("#h_monto_por_pagar").val($("#h_monto_a_pagar").val());
		$("#div_monto_pagado").html("0,00 BsF.");
		$("#h_monto_pagado").val("0,00");
    }
}


// =================================================================================================================
// =================================== Limpiar los Datos del Deposito Actual =======================================
// =================================================================================================================

function borrar_info_deposito() {
    if(window.confirm("¿Está seguro de que desea Limpiar los Datos del Deposito Actual?")) {
        $("#id_banco").val("");
		$("#h_id_banco_a").val("");
		$("#h_nro_cuenta_a").val("");	
		$("#h_nombre_banco_a").val("");				
        $("#fecha_dep").val("");
        $("#nro_vouchers").val("");
        $("#monto").val("");
		$("#h_monto").val("");
    }
}